/**
 *
 */
public class Cat {

    /**
     *
     */
    public static int onLineNumber = 21;
    private String sex;

    /**
     * 实例变量：在类中声明，但在方法、构造函数或块之外。
     * 公有实例变量name对子类可见
     */
    private static String name = "小花";

    /**
     * 私有实例变量age，仅在该类可见，不赋值，默认是0
     */
    private int age;

    /**
     * 构造函数/构造方法
     * public + 类名（入参）
     *
     * @param inputSex  性别
     * @param inputName 姓名######
     * @param inputAge  年龄
     */
    public Cat(String inputSex, String inputName, int inputAge) {
        this.sex = inputSex;
        this.name = inputName;
        this.age = inputAge;
    }


    /**
     * 跑步的方法
     * public+返回值（没有返回值写void）+方法名（驼峰）+（入参）{}
     */
    public void run() {
        // 局部变量weight，必须有初始值。
        String weight = "20斤";

        // 因为实例变量age没赋值，所以默认是0
        // 小猫现在0岁
        System.out.println(name + "现在" + age + "岁");

        // 小猫20斤，跑得很快
        System.out.println(name + weight +  "跑得很快");
    }

    /**
     * 参数变量：是方法或构造函数声明中的变量
     *
     * @param food 参数变量
     */
    public static void eat(String food) {
        // 小猫喜欢吃猫粮
        System.out.println(name + "喜欢吃" + food);
    }
    }
